home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Resource Library: Multimedia
/
Resource Library: Multimedia.iso
/
_archive
/
utils
/
graphics
/
convrtrs
/
mac
/
nh-mg-nf.txt
< prev
next >
Wrap
Internet Message Format
|
1993-06-12
|
20KB
From: salzman@Athena.MIT.EDU
Date: Wed, 31 Mar 93 21:55:54 -0500
Subject: NIH-Image.149_info.txt
NIH Image
---------
NIH Image is a public domain program for the Macintosh for doing digital
image processing and analysis. It can acquire, display, edit, enhance,
analyze, print, and animate grayscale and color images. It reads and writes
TIFF, PICT, PICS and MacPaint files It features multiple windows,
MacPaint-like editing and 8 levels of magnification. It supports Data
Translation and Scion frame grabber cards. Image requires at least 4MB of
RAM and 8-bit video. The following files in the directory /pub/image contain
NIH Image, documentation, source code, and example images.
image1xx.hqx NIH Image 1.xx application
image1xx_docs.hqx Documentation in Word 5.0 format
image1xx_source.hqx Think Pascal 4.0 source
image1xx_NonFPU.hqx Version that does not require a floating-point chip
images Directory with images in TIFF and PICT format
stacks Example stacks(3D images and movies) (directory)
image_spinoffs Contains variants of NIH Image(directory)
misc Directory containing miscellaneous related programs
File Formats
------------
Files are in one of three formats. Those with a ".hqx" suffix are BinHex
encoded Mac binary files, those with a ".bin" suffix are MacBinary encoded
Mac binary files, and those with a ".txt" suffix are a plain text files. The
BinHex and MacBinary formats represent the two parts of a Mac file(the data
fork and the resource fork) as a single file. They permit storage of a
complete Mac file on a non-Mac system, such as this server.
Most files were compressed using the Mac utility Stuffit 1.5.1 and uploaded
using Fetch, which does the BinHex or MacBinary encoding. Both utilities can
be found in the util directory. The best way to retrieve files is to use
Fetch, which automatically does Binhex(or MacBinary) decoding and file
decompression. Unfortunately, Fetch requires a Mac directly connected to the
Internet. If this is not the case, use an FTP(File Transfer Protocol)
utility to transfer the files to a local host and then transfer them to a
Mac via modem.
For Macs not directly on the Internet, BinHex files must be transferred to
a Mac using "ascii" mode and then decoded and decompressed using Stuffit or
some other Mac compression utility, such as Compact Pro. MacBinary files
must be transferred using "binary" mode and decompressed on a Mac using
Stuffit or Compact Pro. A copy of Stuffit 1.5.1 is in the directory
/pub/util in MacBinary format. The document "ftp-primer.txt" in the
documents directory provides more information on file formats and FTP.
NIH Image Mailing List
----------------------
There is an NIH Image mailing list. It was set up by a group in the Soil
Science Department at the University of Minnesota. To subscribe, send a
message containing the line "subscribe nih-image <your name>" to
soils.umn.edu.
DepthGauge
----------
DepthGauge is a control panel that allows rapid switching between
monitor depths settings(e.g. 8-bit color and 24-bit color).
Fetch(/pub/util)
----------------
Fetch is a slick utility that allows networked Macs to transfer files
over the Internet using the File Transfer Protocol(FTP). It does
BinHex decoding and file decompression as the files are transferred.
Giffer(/pub/image/misc)
-----------------------
Giffer is a shareware program useful for converting from GIF to Pict
format, and vis-versa.
ImageFFT(/pub/image/image_spinoffs)
-----------------------------------
ImageFFT is an extension to NIH Image to support frequency domain (power
spectrum) display and editing. It can do a 512x512 FFT in 18 seconds on a
Mac IIfx.
ImageFractal(/pub/image/image_spinoffs)
---------------------------------------
ImageFractal is a version of Image modified to compute the Fractal Index
of objects by the Richardson Plot or the Tile-amalgamation methods.
Image/MG(/pub/image/image_spinoffs)
-----------------------------------
Image/MG is an extension of Image supporting quantitative evaluation
of cerebral blood flow, glucose metabolism, and protein synthesis.
NCSA PalEdit(/pub/image/misc)
-----------------------------
NCSA PalEdit is a public domain program from the National Center for
Supercomputing Applications for creating and customizing color palettes.
With PalEdit, you can modify the whole palette or individual entries in the
palette, to create a set of colors tailored to your needs. PalEdit can save
palettes in a format compatible with NIH Image.
LaboratoryToolbox(/pub/image/misc)
-----------------
The Laboratory Toolbox is a Hypercard Stack which originated as a tool
for teaching laboratory computing. It implements an object oriented
"Laboratory Notebook" structure for the acquisition and management
of sensor based data within a laboratory environment.
MockWrite
---------
MockWrite is a simple DA text editor that is convenient for editing macros
written in Image's Pascal-like macro programming language.
Projectionist(/pub/image/misc)
------------------------------
Projectionist is a utility that allows you to animate stacks created
by Image and saved in PICS format. Because all the frames in the
stack do not need to be loaded into RAM, Projectionist requires
less memory than image. This preliminary version uses the standard
system palette, so stacks created with Image may lose some of
their colors when animated with Projectionist.
NIH Image Change History
------------------------
V1.45 (27-July-1992)
1) A bug was fixed that could cause Image to crash after creating a stack
from a set of windows, one of which is the Camera Window.
2) The Rotate Right and Rotate Left commands no longer convert stacks to a
single image.
3) A new command(Montage) for creating a composite image from the slices in
stack was added to the Stacks menu.
4) A bug was fixed that caused Revert to Saved to invert imported 8-bit
images.
5) A bug was fixed that caused macros(e.g. "Measure All") making density
measurements on more than one density calibrated image to generate incorrect
results.
6) Image now provides better approximations of the original 16-bit values
when importing 16-bit images with Calibrate checked. The approximated values
should not vary from the original 16-bit values by more than (Max-Min)/254,
where Min and Max are the minimum and maximum 16-bit values.
7) A bug was fixed that prevented saving of outlines when the active window
was a stack.
8) A command was added to the macro language for doing background
subtraction. It has the form SubtractBackground('Options', BallRadius),
where 'Options' is one of the following: '1D Horizontal', '1D Vertical', '2D
Rolling Ball' or '2D Remove Streaks'. Add the keyword 'faster' to the
Options string(e.g. '2D Rolling Ball(faster)') for faster operation.
9) A bug was fixed that caused the contrast slide control in the Map window
to work incorrectly at either very high or very low brightness settings.
10) A bug was fixed that could cause Analyze Particles to fail when the
current background color was not white.
11) A bug was fixed that sometimes caused the results counter to not be
reset when using Analyze Particles.
12) The pixels used to generate the profile plot are now highlighted if you
hold down the mouse button and drag in the Plot window.
13) PICT files scanned on flatbed scanners at greater than 72dpi resolution
now open correctly. For example, a one inch square area scanned at 300dpi
now opens as a 300x300 image instead of a 72x72 image.
14) The Get Info command now shows which version of Image created the
image.
15) The Enhance Contrast command now works with pseudo-colored images.
16) A macro for creating lookup table gamma functions was added to the LUT
Macros file in the Macros folder.
17) The Subtract Background routine now smoothes the image before shrinking
it. To shrink by a factor of 8 it uses the lowest pixel value in the 8x8
neighborhood, making it very susceptible to noise unless the image is first
smoothed. I was also changed to shrink the image by a factor of 2 or 4
(instead of 4 or 8) when the radius is 15 or less.
18) A bug was fixed in Redo Measurement that caused the Cancel button to
work the same as the OK button.
19) The Threshold command now automatically determines the optimum
threshold using an Iterative technique first described by Ridler and Calvard
in IEEE transactions on Systems, Man and Cybernetics, 1978. This feature is
available from macros using the new AutoThreshold command.
20) A command was added to the macro language for specifying what gets
exported when using the Export command. It has the form "SetExport('mode')",
where 'Mode' is one of the following: 'Raw', 'MCID', 'Text', 'LUT',
'Measurements', 'Plot Values', Histogram Values' or 'XY Coordinates'.
21) The SaveAs and Export macro commands now accept a file name argument.
22) Redirected sampling now works with rectangular selections.
23) XY Coordinates of line selections created on zoomed images are now
exported correctly.
24) A bug(introduced in V1.44) was fixed that caused the perimeter to be
computed incorrectly for zoomed images.
25) Profile plots now start at the point where the mouse is first clicked
rather than at the left end of the line selection. A new macro called "Plot
Radial Density Profiles" in the file "Measurement Macros" illustrates this
new capability.
26) The SetDensitySlice macro command no longer allows the lower threshold
to be set less than 0 or the upper threshold to be set to more than 254.
Setting the lower threshold to 0 could cause Image to crash when using
Analyze Particles.
27) The slice spacing used by the Reslice command is now specified in
calibrated units, such as millimeters.
29) Macros(in "Stacks") were written to import GE Signa MRI volumes and to
do reslicing(e.g. generate coronals from sagital slices). The macros assume
256x256 slices with a 240mm field of view.
30) Support was added for the new Scion LG-3 frame grabber card. The LG-3
is similar to the Data Translation QuickCapture card, but has more features
and is less expensive. It has analog brightness and contrast control plus a
frame buffer that can be expanded up to 64MB using standard Mac SIMMS. These
features, however, are currently not supported by Image.
V1.46b36 Beta (never released)
1) A bug was fixed that could potentially cause problems when using the
Scion LG-3 frame grabber.
2) The line selection and profile plotting tools now force the starting and
ending coordinates to be within the image boundary. This fixes a problem
that sometimes caused the starting or ending profile plot values to be
invalid when doing profile plots on zoomed images.
3) The "Highlight Saturated Pixels" option in the Video Options dialog box
now displays over saturated pixels in red under saturated pixels in blue.
4) The analog video input offset(brightness) and gain(contrast) can now be
adjusted in the Video Options dialog box while capturing using the Scion
LG-3 frame grabber.
5) The Analyze Particles command no longer disables particle labeling when
there are more than 200 particles.
6) New commands("RGB to 8-bit Color" and "8-bit Color to RGB") were added
to the Stacks menu for converting RGB color images(in the form of a three
slice stack) to 8-bit indexed color and 8-bit color images into RGB.
7) Bugs were fixed that could cause the Make Movie and Capture Frames
commands to fail when using the Scion LG-3 frame grabber.
8) On multi-monitor systems, windows are no longer limited to the size of
the primary monitor .
9) A bug was fixed that caused Make Movie and Capture Frames to work
incorrectly with selections larger than 552X436 on 13 inch monitors.
10) A bug was fixed in the Open and Import macro routines that sometimes
caused images to not be displayed.
V1.47 (15 Oct 1992)
1) 24-bit RGB color images can now be captured. This requires an RGB color
camera with a separate composite sync outlet. When using the Scion LG-3
frame grabber the optional four channel cable(CRGB-LG3) is required and
"Separate Sync" must be checked in Video Control. With the Data Translation
QuickCapture, the W5 jumper must be installed and the red, green, blue and
sync camera outputs connected to the QuickCapture cables 1, 0, 2 and 4
respectively. Color capture requires System 7 and Image must be allocated at
least four megabytes of RAM.
2) 16-bit to 8-bit rescaling(windowing and leveling) of 16-bit imported
images is now supported. A new command called Rescale replaces Revert to
Saved whenever an imported 16-bit image is active. It linearly scales the
16-bit data(on disk) from the range Min-Max to 1-254, where Min and Max are
specified using the controls in the Map window or by using the LUT tool.
16-bit pixels with values less than Min are set to 1 and 16-bit pixels with
values greater than Max are set to 254. The computed absolute minimum and
maximum pixel values will be used if the LUT has not been altered. Enabling
"Highlight Saturated Pixels" in the Preferences dialog box causes pixels
that were less than or equal to Min to be blue and pixels that were greater
than or equal to Max to be red.
3) A command(InverLUT) was added to the macro language for inverting the
video look-up table.
4) Support was added for the 50 Hz(PAL or CCIR) version of the Scion LG-3
frame grabber, which captures 768 X 512 frames.
5) A command was added to the macro interpreter for accessing user written
Pascal code in the User.p source code module. It has the form
"UserCode(CodeNumber, Param1, Param2, Param3)", where CodeNumber is a
positive integer used to specify which code routine is called and Param1,
Param2 and Param3 are real input parameters.
6) A bug was fixed that caused the Measure and Analyze Particles commands
to compute angles incorrectly for objects at exactly 45 or 135 degree
angles.
V1.48b73(never released)
1) The Rotate Right and Rotate left commands are now much faster thanks to
a new PutColumn routine contributed by Edward J. Huff.
2) Selections larger than the undo buffer can now be saved in TIFF format
and exported as raw data.
3) A bug was fixed that could sometimes cause the spatial scale to change
if you clicked in the Scale field of the Set Scale dialog box.
4) The macro interpreter was speeded up and the run-time macro error
messeges were improved.
5) A bug(introduced in V1.47) was fixed that caused the Measure and Analyze
Particles commands to display NAN(Not a Number) for the major and minor axis
for perfectly round objects. Note that the Major and minor axis are still
incorrect for one pixel wide diagonal objects.
6) The x-y coordinates of the current selection are now available from
within macros using the built-in arrays xCoordinates[n] and yCoordinates[n].
The number of coordinates can be obtained using the macro function
nCoordinates. For an example, look at the macro "Plot X-Y Coordinates" in
"Measurement Macros".
7) A string data type was added to the macro interpreter. Strings have a
maximum length of 255 characters and string comparisons are case
insensitive. Three functions were also added:
str:=GetString('Prompt'[,'default') - Puts up a dialog
box requesting string input. The first argument is the
prompting message and the second(optional) argument
is the default input string.
str:=chr(n) - Converts a positive integer in the range
0..255 to a one character string(e.g. chr(65) = 'A').
n:=ord(str) - Returns the ordinal number of the first
character in a string(e.g. ord('A')=65). Returns -1 if the
string is empty
str:=concat(str1, str2,...) - Takes a series of strings
and concatenates them.
Example macros illustrating the use of strings are available in the file
"Serial I/O and Strings".
8) Three new routines were added to the macro interpreter to support Serial
I/O:
OpenSerial('Options') - 'Options' is a string containing
'1200 baud', '2400 baud', '9600 baud' or '19200 baud';
'no parity', 'even parity' or 'odd parity'; 'seven data' or
'eight data'; 'One stop' or 'two stop'. The default is
'9600 baud, no parity, eight data, one stop'.
str:=GetSerial - Returns the next available character in
the serial(modem) input buffer as a one character string
or returns an empty string if the buffer is empty.
PutSerial(str) - Writes 'str' to the modem port.
Macros could be written using these routines to control a motorized stage
or to control a VCR to play back time lapse video. Example macros
illustrating serial I/O are available in the file "Serial I/O".
9) An optional second argument was added to the SetPrecision macro command
to specify the field width used in the results window.
10) A new macro command was added for changing the cursor. It has the form
SetCursor('str'), where 'str' is 'watch', 'cross' or 'arrow'.
11) The macro interpreter's stack size was increased from 100 to 150
variables.
12) The macros in More Macros("AND Mode", "OR Mode", etc) that allow you to
easily switch transfer modes while pasting are now working again. They broke
in V1.44.
13) Compute bound macros now allow background tasks(e.g. System 7 file
sharing or Retrospect Remote) to run.
14) Macros looping within a REPEAT UNTIL statement can now be aborted using
Command-Period.
15) The maximum size of macro files was increased from 15,000 to 30,000
bytes.
16) A macro(in "Serial I/O") was written to send commands over the serial
port to the Newport PMC200-P programmable 2-axis motion controller.
Instructions on how to connect the PMC200-P to the Mac modem port are
contained in a comment at the beginning of the macro.
17) A function(TickCount) was added to the macro language that returns the
current number of ticks(sixtieths of a second) since the system last
started.
18) Undo now works with palettes that have been edited by double clicking
in the LUT window with the eye dropper tool.
19) The angle measurement tool now creates a line selection instead of
drawing lines.
20) A bug was fixed that could cause objects to be drawn outside of the
image window boundary when opening object oriented PICT files created by
drawing programs such as MacDraw.
21) The AverageFrames macro command no longer displays a dialog box.
22) A bug was fixed that, when thresholding, caused pixels with a value
equal to the threshold to be displayed in white(backround) instead of black.
23) A new command was added to the Stacks menu that computes an image that
is the average of all the slices in the current stack.
24) A new command was added to the macro language for setting various Video
Control options. It has the form SetVideo('str'), where 'str' is a string
containing some combination of 'Invert, 'Highlight', 'Oscillating',
'Trigger', 'Blind' or 'Separate'. Any option not specified is disabled.
25) Several problems that relate to thresholding of pseudocolored images
were fixed.
26) Profile plotting now works with irregular line selections.
27) The axis labeling of density profile plots was improved.
28) The Average Frames command can now use the Scion LG-3's on-board memory
to capture frames at 30 per second. When averaging 32 frames, for example,
the frames are captured in one second instead of 15-25 seconds. It will
still take 15-25 seconds, however, to compute the average. A 4MB LG-3 can
capture 8 frames at 30fps and one with 16MB can capture 32.
V1.49(31 March 1993)
1) The preferences item called "Load System LUT when switching" is now
recorded when you do a record preferences.
2) Thanks to Edward J. Huff, balloon help is now available in the Tools,
Map and LUT windows, and for some of the menu commands.
3) A a new function was added to the macro language for converting strings
to real numbers. It has the form: n:=StringToNum(s), where n is a real
number and s is a string. It returns zero if the string contains no digits.
StringToNum can be used to get around the seven digit limit on the precision
of numeric constants(they are stored as four byte reals). For example,
n1:=123456789;
n2:=StringToNum('123456789');
PutMessage(n1,' ',n2);
will display '123456792 123456789'.